<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        const list = [
            { id: '1001', manager: '管理员', name: '行政部', pid: '' },
            { id: '1002', manager: '管理员', name: '财务部', pid: '' },
            { id: '1003', manager: '管理员', name: '人事部', pid: '' },
            { id: '1004', manager: '巴斯慧', name: '上海事业部', pid: '1001' },
            { id: '1005', manager: '孙财', name: '财务核算部', pid: '1002' },
            { id: '1006', manager: '张飞', name: '税务管理部', pid: '1002' }
        ]

        // [
        //     { id: '1001', manager: '管理员', name: '行政部', pid: '' ,  children:
        //      [
        //         { id: '1004', manager: '巴斯慧', name: '上海事业部', pid: '1001' ,children:[] }
        //      ]
        //     },
        //     { id: '1002', manager: '管理员', name: '财务部', pid: '' ,children:
        //      [
        //         { id: '1005', manager: '孙财', name: '财务核算部', pid: '1002' ,children:[]},
        //         { id: '1006', manager: '张飞', name: '税务管理部', pid: '1002' ,children:[]}
        //      ]
        //     },
        //     { id: '1003', manager: '管理员', name: '人事部', pid: '' ,children:[]}   
        // ]

        const map = {}
        list.forEach(item => {
            item.children = []
            map[item.id] = item
        })
        console.log(list);
        console.log(map);
        const treeList = []
        list.forEach(item => {
            if (item.pid) {
                const parent = map[item.pid]
                parent.children.push(item)
            }else{
                treeList.push(item)
            }

            // if (item.pid) {
            //     console.log('有爹');
            //     const parent = map[item.id];
            //     console.log(parent);
            //     parent.children.push(item);
            // } else {
            //     console.log('没爹');
            //     treeList.push(item)
            // }

            // if (item.pid) {
            //     const parent = map[item.pid]
            //     parent.children.push(item)
            // } else {
            //     // 2.没有找到父级，说明是一级数据，直接加入到treeList数组中
            //     treeList.push(item)
            // }
        })
        console.log(treeList, 'treeList');
    </script>
</body>

</html>